package entities;

import services.impl.StandardOPs;
import java.util.List;
import java.util.LinkedList;
import java.util.ArrayList;
import java.util.Arrays;
import java.time.LocalDate;
import java.io.Serializable;
import java.lang.reflect.Method;

public class Member implements Serializable {
	
	/* all primary attributes */
	private String Id;
	private String Name;
	private String MembershipLevel;
	
	/* all references */
	private List<SessionRecord> MemberToSessionRecord = new LinkedList<SessionRecord>(); 
	private List<WorkoutSession> CurrentSession = new LinkedList<WorkoutSession>(); 
	
	/* all get and set functions */
	public String getId() {
		return Id;
	}	
	
	public void setId(String id) {
		this.Id = id;
	}
	public String getName() {
		return Name;
	}	
	
	public void setName(String name) {
		this.Name = name;
	}
	public String getMembershipLevel() {
		return MembershipLevel;
	}	
	
	public void setMembershipLevel(String membershiplevel) {
		this.MembershipLevel = membershiplevel;
	}
	
	/* all functions for reference*/
	public List<SessionRecord> getMemberToSessionRecord() {
		return MemberToSessionRecord;
	}	
	
	public void addMemberToSessionRecord(SessionRecord sessionrecord) {
		this.MemberToSessionRecord.add(sessionrecord);
	}
	
	public void deleteMemberToSessionRecord(SessionRecord sessionrecord) {
		this.MemberToSessionRecord.remove(sessionrecord);
	}
	public List<WorkoutSession> getCurrentSession() {
		return CurrentSession;
	}	
	
	public void addCurrentSession(WorkoutSession workoutsession) {
		this.CurrentSession.add(workoutsession);
	}
	
	public void deleteCurrentSession(WorkoutSession workoutsession) {
		this.CurrentSession.remove(workoutsession);
	}
	


}
